package comparisionAndResults;

import ModelRepresentations.Model;

// TODO: Could use generics here instead of in GenericResultValue... might be better even although not a very sexy way
public class ResultValueMatrix {
	private ResultValue[][] resultMatrix;
	private int consensus;
	private Model consensusModel;
	
	public ResultValueMatrix(int size){
		this.resultMatrix = new ResultValue[size][size];
		for(int i = 0; i < size; i++){
			for(int j = 0; j < size; j++){
				this.resultMatrix[i][j] = new GenericResultValue<Float>(1.0f);
			}
		}
	}
	
	public ResultValueMatrix(ResultValue[][] table){
		this.resultMatrix = table;
	}
	
	// TODO: ... 
	public void addValueAt(int x, int y, ResultValue value){
		this.resultMatrix[x][y] = value;
	}
	
	public ResultValue getValueAt(int x, int y){
		return resultMatrix[x][y];
	}
	
	public ResultValue[][] getMatrix(){
		return resultMatrix;
	}

	public int getConsensus() {
		return consensus;
	}

	public void setConsensus(int consensus) {
		this.consensus = consensus;
	}

	public Model getConsensusModel() {
		return consensusModel;
	}

	public void setConsensusModel(Model consensusModel) {
		this.consensusModel = consensusModel;
	}
	
	
}
